(module test mzscheme

  (require "../private/require.ss")
  (require-contracts)
  (require-schemeunit)
  
  (require "test-set.ss"
           "test-table.ss"
           "test-bag.ss")

  (provide/contract
   [test-galore schemeunit-test-suite?]
   [test/gui (schemeunit-test-suite? . -> . any)]
   [test/text (schemeunit-test-suite? . -> . any)])
  
  (define test-galore
    (test-suite
     "Datastructures Galore"
     test-set
     test-table
     test-bag))

  (define (test/gui suite)
    ((dynamic-require
      '(planet "graphical-ui.ss" ("schematics" "schemeunit.plt" 2 10))
      'test/graphical-ui)
     suite))

  (define (test/text suite)
    ((dynamic-require
      '(planet "text-ui.ss" ("schematics" "schemeunit.plt" 2 10))
      'test/text-ui)
     suite))

  )

  